Updates to computer systems and various software applications are a practical necessity in today's computing world. Developers are continually working to improve the quality, efficiency and functionality of the computer systems and applications we use. Traditionally, the primary means for updating computer systems and/or software have involved hosting updates via optical media (e.g., CD-ROMs, DVD-ROMs, etc.) and/or via a network connection (e.g., Wi-Fi, Ethernet, etc.).
Traditional means for updating computer systems and/or software are often unreliable. In particular, optical drives are often unreliable due to scratched discs, dust/dirt particles, and/or malfunctioning drive mechanisms. Network connections, particularly Wi-Fi connections, can be lost due to service provider technical problems, bad weather conditions and the like. When these traditional means malfunction or become disconnected during installation, the installation will often fail. This becomes a particular problem when the installation involves very large amounts of data, such as, for example, in the case of an operating system upgrade. Failed installations often come at the cost of significant amounts of user frustration and time wasted, as well as potentially causing instability to the computer system.